<?php
if(!defined('BASE_DIR'))die('Cannot access the file !');
/**
 * -+-----------------------------------------
 * |PHP Framework
 * |Copyright (c) 2010 jinke.[iblue.cc]
 * |E-mail: mejinke@gmail.com
 * |Date: 2010-03-08
 * -+-----------------------------------------
 *
 * 系统配置类
 * @author jinke
 */
class Config extends Base
{

	/**
	 * 配置资料
	 * @var array
	 */
	private static $_config = null;


	/**
	 * 配置文件路径
	 * @var string
	 */
	private static $path = '';

	/**
	 * 构造函数，获取配置资料
	 * @access public
	 */
	public static function init()
	{
		if (self::$_config !== null) return;
		self::$path = BASE_DIR.'config.inc.php';
		self::_getConfig();
	}


	/**
	 * 加载配置文件及获取内容
	 * @access	public
	 * @return	void
	 */
	private static function _getConfig()
	{
		if (!empty(self::$_config))
			return;
		//检测配置文件是否存在
		if(is_file(self::$path))
			require self::$path;

		//检查配置文件格式是否正确
		if(!isset($cfg) OR !is_array($cfg))
		{
			message_error('Load File','无法加载框架配置文件!',message_debug(debug_backtrace()),'Error', 'config');
		}
		self::$_config=&$cfg;
	}


	/**
     * 获取配置文件中的值
	 * @access	public
	 * @param	string	$item	项名称
	 * @return	mixed
     */
	public static function get($item)
	{
		self::init();
		if(isset(self::$_config[$item]))
			return self::$_config[$item];
		else
			return false;
	}
	
	/**
	 * 设置配置文件内容值
	 * @param string $key 键
	 * @param mixed $val 值
	 */
	public static function set($key,$val){
		self::init();
		if(isset(self::$_config[$key]))
			self::$_config[$key] = $val;
	}
}
?>